Recovery Oriented Programming ? ( Extended
نویسندگان
چکیده
Writing a perfectly correct code is a challenging and a nearly impossible task. In this work we suggest the recovery oriented programming paradigm in order to cope with eventual Byzantine programs. The program specification composer enforces the program specifications (both the safety and the liveness properties) in run time using predicates over input and output variables. The component programmer will use these variables in the program implementation. We suggest using the “sand-box” approach in which every instruction of the program that changes a specification variable, is executed first with temporary variables and that is in order to avoid execution of an instruction that violates the specifications. In addition, external monitoring is used for coping with transient faults and for ensuring convergence to a legal state. The implementation of these ideas includes the definition of new instructions in the programming language with the purpose of allowing addition of predicates and recovery actions. We suggest a design for a tool that extends the Java programming language. In addition to that, we provide a correctness proof scheme for proving that the code combined with the predicates and the recovery actions is self-stabilizing and, under the restartability assumption, eventually fulfills its specifications.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملOn-Line Nonlinear Dynamic Data Reconciliation Using Extended Kalman Filtering: Application to a Distillation Column and a CSTR
Extended Kalman Filtering (EKF) is a nonlinear dynamic data reconciliation (NDDR) method. One of its main advantages is its suitability for on-line applications. This paper presents an on-line NDDR method using EKF. It is implemented for two case studies, temperature measurements of a distillation column and concentration measurements of a CSTR. In each time step, random numbers with zero m...
متن کاملStakeholder views on a recovery-oriented psychiatric rehabilitation art therapy program in a rural Australian mental health service: a qualitative description
BACKGROUND Recovery-oriented care is a guiding principle for mental health services in Australia, and internationally. Recovery-oriented psychiatric rehabilitation supports people experiencing mental illness to pursue a meaningful life. In Australia, people with unremitting mental illness and psychosocial disability are often detained for months or years in secure extended care facilities. Psyc...
متن کاملRecovery in Distributed Extended Long-lived Transaction Models
This paper addresses the recovery and the rollback problem in distributed collaborative transactions. We propose a solution to the problem in a generalized ARIES [9] framework. We modified its existing data structures and provided additional data structures for recovery of distributed extended long-lived transactions. In the proposed model the transactions communicate and collaborate only by ex...
متن کاملExtended Design Patterns in New Object-Oriented Programming Languages (S)
Most of design patterns are implemented in major object-oriented programming languages such as C++ and Java. However, newer object-oriented programming languages than such languages has new language features which can improve implementations of design patterns. In this paper, we propose two extended design patterns called customizable state pattern and deeply immutable pattern. We compares impl...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006